(defun c:stlayr ( / lent elay lnln)
  (setq cmde (getvar"cmdecho"))
  (setvar"cmdecho"0)
  (if sel1
    (setq elay (cdr(assoc 8 (entget(car sel1)))))
  (progn
    (setq lent (entsel "Select entity for Layer "))
    (setq elay (cdr(assoc 8 (entget (car lent)))))
  );progn
  );if
  (setq lnln (strlen elay))
  (if
    (and(or(= lnln 7)(= lnln 11)(> lnln 12))
      (or
        (= (substr elay 1 1)"G")
        (= (substr elay 1 1)"C")
        (= (substr elay 1 1)"L")
        (= (substr elay 1 1)"A")
        (= (substr elay 1 1)"S")
        (= (substr elay 1 1)"M")
        (= (substr elay 1 1)"P")
        (= (substr elay 1 1)"F")
        (= (substr elay 1 1)"E")
      );or
      (or
        (= (substr elay 2 1)"-")
        (= (substr elay 2 1)"C")
        (= (substr elay 2 1)"D")
        (= (substr elay 2 1)"G")
        (= (substr elay 2 1)"T")
        (= (substr elay 2 1)"V")
        (= (substr elay 2 1)"H")
        (= (substr elay 2 1)"M")
        (= (substr elay 2 1)"P")
        (= (substr elay 2 1)"Q")
        (= (substr elay 2 1)"S")
      );or
      (or
        (= (substr elay 7 1)"1")
        (= (substr elay 7 1)"2")
        (= (substr elay 7 1)"3")
        (= (substr elay 7 1)"4")
        (= (substr elay 7 1)"5")
        (= (substr elay 7 1)"6")
        (= (substr elay 7 1)"7")
        (= (substr elay 7 1)"8")
        (= (substr elay 7 1)"9")
        (= (substr elay 7 1)"A")
        (= (substr elay 7 1)"B")
        (= (substr elay 7 1)"C")
        (= (substr elay 7 1)"D")
        (= (substr elay 7 1)"E")
        (= (substr elay 7 1)"F")
      );or
    );and
    (progn
      (setq mjrg (substr elay 1 1)
            llt (substr elay 2 1)
            prod (substr elay 3 4)
      );setq
      (cond ((= (strcase(substr elay 7 1)) "A")(setq colra "A"))
            ((= (strcase(substr elay 7 1)) "B")(setq colra "B"))
            ((= (strcase(substr elay 7 1)) "C")(setq colra "C"))
            ((= (strcase(substr elay 7 1)) "D")(setq colra "D"))
            ((= (strcase(substr elay 7 1)) "E")(setq colra "E"))
            ((= (strcase(substr elay 7 1)) "F")(setq colra "F"))
            ((= (substr elay 7 1) "1")(setq colr "1"))
            ((= (substr elay 7 1) "2")(setq colr "2"))
            ((= (substr elay 7 1) "3")(setq colr "3"))
            ((= (substr elay 7 1) "4")(setq colr "4"))
            ((= (substr elay 7 1) "5")(setq colr "5"))
            ((= (substr elay 7 1) "6")(setq colr "6"))
            ((= (substr elay 7 1) "7")(setq colr "7"))
            ((= (substr elay 7 1) "8")(setq colr "8"))
            ((= (substr elay 7 1) "9")(setq colr "9"))
      );cond
      (if (>= lnln 8)
        (setq modf (substr elay 8))
        (setq modf nil)
      );if
      (if mklayr nil (load"mklayr"))
      (c:mklayr)
    );progn
    (progn
      (command ".layer" "s" elay "")
      (princ "\nNot a CLG Layer!  Set CLG layer name! ")
    );progn
  );if
  (setvar "cmdecho" cmde)
);defun